Information code, information code producing method, information code reader, and system which uses information code

ABSTRACT

A two-dimensional information code is provided. In the code area of this information code, there are formed a specification pattern region in which predetermined-shape specification patterns, such as position detecting patterns, are arranged, a data recording region in which data are recorded using plural types of cells, and an error-correction code recording region in which error correction codes are arranged using the plural types of cells. In the code area, a free space is formed at a position located outside the specification pattern region, the data recording region, and the error-correction code recording region. Data are not recorded by cells in the free space and error correction on the error correction codes is not applied to the free space. The free space has a size larger in area than a single cell.

CROSS-REFERENCE TO RELATED APPLICATION

This is a Continuation of U.S. application Ser. No. 14/654,207 filedJun. 9, 2015, which is a National Phase Entry Application of PCTapplication Ser. No. JP2013/083901 filed Dec. 18, 2013, which is basedon and claims the benefit of priority from earlier Japanese PatentApplication Nos. 2012-276910 filed on Dec. 19, 2012 and 2013-195607filed on Sep. 20, 2013. The disclosures of the prior applications arehereby incorporated by reference herein in their entirety.

BACKGROUND Technical Field

The present disclosure relates to information codes such astwo-dimensional codes, a production method for producing the informationcode, a reader that reads the information code, and a system which usesthe information code.

Background Art

Information codes such as two-dimensional codes have now been used inmany applications. Such applications include an application in which apicture or a figure is arranged in the code area. For example, atechnique provided by patent literature 1 is concerned with atwo-dimensional code produced by strings of reverse-converted bits whichare reversely converted from strings of bits. These strings of bits forma region of the code, in which the region is composed at a single graylevel. The reverse-converted bit strings are converted based oninformation about a format for the two-dimensional code, thus producinga unique two-dimensional code with a design region composed of thesingle gray level.

CITATION LIST Patent Literature SUMMARY Technical Problem

In the technique shown by the foregoing patent literature 1, if theunique two-dimensional code has a design region composed of whitemodules, given design data are combined with the unique two-dimensionalcode such that a design composed of gray levels which can be read aswhite is formed in the design region. In contrast, if the uniquetwo-dimensional code has a design region composed of black modules,given design data are combined with the unique two-dimensional code suchthat a design composed of gray levels which can be read as black isformed in the design region,

However, the technique shown by the patent literature 1 is confrontedwith a problem that there are more restrictions for producing a designregion in producing the code, due to conformity with error correctioncodes and setting the design code with more gray levels.

The present disclosure has been made to overcome the foregoing problem,and it is an object to provide the configuration with which a freespace, which is different from the data recording region and aspecification pattern region, can be secured more easily in the codearea of the information code.

Solution to Problem

A first aspect of the present disclosure relates to a method ofproducing an information code by an information code producingapparatus, cells being arranged in a predetermined code area of amedium, the cells functioning as a unit of information when theinformation is provided. The method is characterized in that the methodincludes:

arranging, in the code area, a specification pattern region in whichpredetermined-shape specification patterns are arranged in the codearea, the specification patterns including patterns indicating aposition of the code area;

arranging, in the code area, a data recording region in which data isrecorded by a plurality of types of the cells in the code area; and

arranging a free space at a position located outside the specificationpattern region in the code area, the free space having a size larger inarea than a single cell, the free space being arranged using a methodwhich is different from a method of recording the data into the datarecording region, at least one of recording data and displaying a designbeing enabled in the free space,

A second aspect relates to an information code formed on a medium, cellsbeing arranged in a predetermined code area of the medium, the cellsfunctioning as a unit of information when the information is provided.The information code is characterized in that the code includes:

a specification pattern region is arranged in the code region,predetermined-shape specification patterns being arranged in thespecification pattern region, the specification patterns includingpatterns indicating a position of the code area;

a data recording region is arranged in the code region, data beingrecorded in the data recording region by a plurality of types of thecells; and

a free space is arranged at a position located outside the specificationpattern region in the code area, the free space having a size larger inarea than a single cell, the free space being arranged using a methodwhich is different from a method of recording the data into the datarecording region, at least one of recording data and displaying a designbeing enabled in the free space.

A third aspect relates to an information code reader, reading aninformation code provided on a medium, cells being arranged in apredetermined code area of the medium, the cells functioning as a unitof information when the information is provided. The reader ischaracterized in that:

the information code includes:

a specification pattern region arranged in the code area,predetermined-shape specification patterns being arranged in thespecification pattern region, the specification patterns includingpatterns indicating a position of the code area;

a data recording region arranged in the code area, data being recordedby a plurality of types of the cells in the data recording region; and

a free space arranged at a position located outside the specificationpattern region in the code area, the free space having a size larger inarea than a single cell, the free space being arranged using a methodwhich is different from a method of recording the data into the datarecording region, at least one of recording data and displaying a designbeing enabled in the free space.

The information code reader includes:

an imaging unit imaging the information code; and

an interpreter interpreting the data recorded in the data recordingregion, based on contents recorded in the data recording region, whenthe information code is imaged by the imaging unit.

A fourth aspect relates to a system which uses an information code,including an information code producing apparatus producing aninformation code provided on a medium, cells being arranged in apredetermined code area of the medium, the cells functioning as a unitof information when the information is provided; and an information codereader reading the information code produced by the information codeproducing apparatus. The system is characterized in that the informationcode producing apparatus is configured to produce the information codesuch that the information code comprises

a specification pattern region arranged in the code area,predetermined-shape specification patterns being arranged in thespecification pattern region, the specification patterns includingpatterns indicating a position of the code area;

a data recording region arranged in the code area, data being recordedby a plurality of types of the cells in the data recording region; and

a free space arranged at a position located outside the specificationpattern region in the code area, the free space having a size larger inarea than a single cell, the free space being arranged using a methodwhich is different from a method of recording the data into the datarecording region, at least one of recording data and displaying a designbeing enabled in the free space.

The information code reader includes an imaging unit imaging theinformation code produced by the information code producing apparatus,wherein the information code reader is configured to interpret the datarecorded in the data recording region based on contents of the datarecording region, when the imaging unit images the information code.

Advantageous Effects

According to the first aspect of the present disclosure, at a positionlocated outside the specification pattern region inside the code area, afree space can be formed using a method which is different from that forrecording data into the data recording region. Data can be recorded inthe free space and/or designs can be displayed in the free space, thusraising convenience for users. Especially, using the method forrecording data into the data recording region, at least one of datarecording and display of designs can be realized in the free space. Inconfiguration of the free space, it is therefore possible to reducerestrictions resulting from the data recording region as much aspossible.

According to the second aspect of the present disclosure, at a positionlocated outside the specification pattern region inside the code area, afree space can be formed using a method which is different from that forrecording data into the data recording region. Data can be recorded inthe free space and/or designs can be displayed in the free space, thusraising convenience for users. Especially, using the method forrecording data into the data recording region, at least one of datarecording and display of designs can be realized in the free space. Inconfiguration of the free space, it is therefore possible to reducerestrictions resulting from the data recording region as much aspossible.

In the third aspect of the present disclosure, there can be realized areader capable of reading a distinguishing information code providedwith the free space.

According to a fourth aspect of the present disclosure, at a positionlocated outside the specification pattern region inside the code area, afree space can be formed using a method which is different from that forrecording data into the data recording region. Data can be recorded inthe free space and/or designs can be displayed in the free space, thusraising convenience for users. Especially, using the method forrecording data into the data recording region, at least one of datarecording and display of designs can be realized in the free space. Inconfiguration of the free space, it is therefore possible to reducerestrictions resulting from the data recording region as much aspossible.

BRIEF DESCRIPTION OF DRAWINGS

In the accompanying drawings:

FIG. 1 is an outlined view exemplifying an outlined system using aninformation code, according to a first embodiment of the presentdisclosure;

FIG. 2 is a block diagram exemplifying an outlined electricconfiguration of an information code reader composing part of the systemusing the information code shown in FIG. 1;

FIG. 3 is an illustration conceptually explaining the data configurationof an information code used in the system using the information codeshown in FIG. 1;

FIG. 4 is an illustration explaining another type of code correspondingto the information code used in the system using the information codeshown in FIG. 1;

FIG. 5 is an illustration explaining a correspondence relationshipbetween arrangement of respective data words in the information codeproduced by an information code producing apparatus composing part ofthe system which uses the information code shown in FIG. 1;

FIG. 6 is an illustration conceptually explaining the data format of theinformation code used in the system which uses the information codeshown in FIG. 1;

FIG. 7 is an illustration explaining a correspondence relationshipbetween arrangement of respective data words in the information codeproduced by an information code producing apparatus composing part ofthe system using the information code shown in FIG. 1, thecorrespondence relationship being different from that shown in FIG. 5;

FIG. 8 is a flowchart exemplifying a flow of production of theinformation code produced by the information code producing apparatuscomposing the part of the system using the information code shown inFIG. 1;

FIG. 9 is a flowchart exemplifying a flow of reading the informationcode produced by the information code producing apparatus composing thepart of the system using the information code shown in FIG. 1;

FIG. 10 is an illustration exemplifying various types of informationcodes which can be used in the system using the information code shownin FIG. 1;

FIG. 11 is an illustration illustrating an information code usable in asystem which uses an information code, according to a second embodiment,in which (A) of FIG. 11 shows a blank free space of the code and (B) ofFIG. 11 shows the free space of the code which is mapped with a design;and

FIG. 12 is an illustration illustrating an information code usable inthe system using the information code according to a third embodiment,in which (A) of FIG. 12 shows a blank free space of the code and (B) ofFIG. 12 shows the free space of the code which is mapped with a design

DESCRIPTION OF EMBODIMENTS First Embodiment

Referring to the drawings, a first embodiment of the present disclosurewill now be described.

FIG. 1 shows a system 1 which uses an information code. The systemincludes an information code producing apparatus 2 and an informationcode reader 10. The information code producing apparatus 2 produces aninformation code 100 provided with a predetermined code area in whichcells are arranged, the cells being units composing information. Theinformation code reader 10 reads the information code 100 produced bythe information code producing apparatus 2.

(Information Code Producing Apparatus)

The information code producing apparatus 2 is configured by aninformation processing apparatus, which is a personal computer forexample. This apparatus 2 is provided with a controller 3 including aCPU, an operation unit 4 including a key board, a mouse and other inputdevices, and a storage 5 including memory devices such as a ROM, a RAM,a HDD, and nonvolatile memories. The apparatus 2 further includes adisplay unit 6 equipped with known display devices (such as a liquidcrystal display and/or other types of display devices), a communicationunit 7 functioning as a communication interface to and from externaldevices via wired or wireless communication, and a printer 8 (printingdevice). The printer 8 is similar in hardware to known printers and iscapable of printing the information code 100 and necessary informationin reply to printing data sent from the controller 3.

(Information Code Reader)

The whole configuration of the information code reader 10 will now beexplained. As shown in FIG. 2, in terms of hardware configuration, theinformation code reader 10 is configured as a code reader capable ofreading two-dimensional codes. The reader 10 has a not-shown outercasing, in which various kinds of electronic components areaccommodated.

The information code reader 10 includes, as its main components, anoptical system provided with illuminating sources 21, a light receivingsensor 23, a filer 25 and an imaging lens 27; a microcomputer system(hereinafter called “a microcomputer”) provided with memories 35, acontrol circuit 40, an operation switch 42, and a liquid crystal display46; and a power supply system provided with a power switch 41 and abattery 49. These components are mounted on not-shown printed boardsand/or implemented in the case (not shown).

The optical system is configured to include the illuminating sources 21,light receiving sensor 23, filter 25 and imaging lens 27. Theilluminating sources 21 function as light sources capable of emittingilluminating light Lf, and, for example, include red LEDs and lenssystems disposed on the output side of the LEDs, in which the lenssystem include diffusing lenses and collecting lenses. In the presentembodiment, the illuminating sources 21 are arranged on both sides ofthe light receiving sensor 23 and are able to emit the illuminatinglight Lf towards an object R being read via a reading opening (notshown) of the case. The object R being read is a medium carrying aninformation code or a medium in or on which an information code isarranged or mapped. The object R being read may be various objects suchas resin materials or metal materials, and an information code 100(later described), which are as shown in FIG. 1 for example, is producedon the object R being read, by printing or direct marking.

The light receiving sensor 23 is provided as one example of an imagingunit capable of imaging the information code 100 (which will bedescribed later) and is able to receive reflected light Lr coming fromthe object R being read and the information code 100 which reflect theilluminating light. This light receiving sensor 23 is for example anarea sensor in which light-receiving elements are arrangedtwo-dimensionally, such elements being solid-state image sensing devicessuch as C-MOSs or CCDs. The light receiving sensor 23 is mounted on anot-shown printed circuit board and has a light receiving window 23 athrough which incident light arrives through the imaging lens 27, sothat the sensor is able to receive the incident light.

The filter 25 is an optical low-pass filter disposed between the readingopening (not shown) of the case and the imaging lens 27. The filter 25is able to, for example, allow to pass therethrough light whosewavelengths is equal to or less than a designated wavelengthcorresponding to the reflected light Lf and, in contrast, cut off lightwhose wavelength is over the designated wavelength. Hence unnecessarylight components whose wavelengths are over that of the reflected lightLr are suppressed from incoming into the light receiving sensor 23. Theimaging lens 27 is, by way of example, configured to include a lensbarrel and a plurality of collecting lenses accommodated in the lensbarrel. In the present embodiment, the imaging lens is configured tocollect the reflected light Lr incoming through the reading opening (notshown) of the case, and form a code image of the information code 100 onthe light receiving window 23 a of the light receiving sensor 23.

The microcomputer system includes an amplifying circuit 31, an A/Dconverting circuit 33, a memory 35, an address generating circuit 36, asynchronization signal generating circuit 38, a control circuit 40, apower switch 42, an LED 43, a buzzer 44, a liquid crystal display 46, acommunication interface 48, and other necessary components. In themicrocomputer system, the control circuit 40 functioning as amicrocomputer (i.e., information processing unit) and the memory 35 arekey components in the function thereof, and image signals of theinformation code 100 imaged by the foregoing optical system can beprocessed.

An image signal (which is an analogue signal) outputted from the lightreceiving sensor 23 of the optical system is provided to the amplifyingcircuit 31 to be amplified there with a predetermined gain, and theamplified signal is then provided to the A/D converting circuit 33 to beconverted to a digital signal from the analogue signal. The digitalizedimage signal, that is, image data (i.e., image information) is providedto the memory 35 so that the image data is stored in an image datastorage area of the memory 35. The synchronization signal generatingcircuit 38 is configured to generate a synchronization signal sent toboth the light receiving sensor 23 and the address generating circuit36. The address generating circuit 36 is configured to generateaddresses at which the image data are stored at the designated addressesin the memory 35, in response to the synchronization signal coming fromthe synchronization signal generating circuit 38.

The memory 35 is composed of memory devices such as semiconductor memorydevices, which include RAMs (DRAMs, SRAMs, etc.) and ROMs (EPROMs,EEROMs, etc.). The RAMs of the memory 35 are arranged to provide notonly the image data storage area, described above, but also an operationarea and a reading condition table which are used during processing forarithmetic calculations and logic calculations performed by the controlcircuit 40. In the ROMs, system programs are stored in advance, whichinclude predetermined programs assigned to a later-described readingprocess and other necessary programs, and which are used to controlhardware components including the illuminating light sources 21 and thelight receiving sensor 23.

The control circuit 40 is provided with a microcomputer configured to beable to control the information code reader 10, and the microcomputerincludes a CPU, a system bus, and an input/output interface, whereby themicrocomputer provides an information processing function. In thecontrol circuit 40, the input/output interface is communicably connectedto various input/output devices (called peripheral devices) whichinclude, in the present embodiment, the power switch 41, the operationswitch 42, the LED 43, the buzzer 44, the liquid crystal display 46 andthe communication interface 48. The communication interface 48 iscommunicably connectable to the host computer HST and/or other systemswhich are provided as host systems of the information code reader 10.

The power system includes the power switch 41 and the battery 49, inwhich the power switch 41 can be turn on/off to controlconnection/disconnection of paths for drive voltage from the battery 49to the foregoing devices and circuits, which is under control of thecontrol circuit 40. The battery 49 is composed of a secondary batterycapable of generating a predetermined DC voltage, and this battery isfor example a lithium-ion battery.

(Information Code)

With reference to FIGS. 1, 5, and other drawings, an information code100 used in the system which uses the information code shown in FIG. 1will now be described. Two codes exemplified in FIGS. 1 and 5 areconfigured based on the same basic scheme for configuring the codes andhave similar characteristics, although arrangement of cells and thesizes of specification patterns are different from each other in the twocodes. An information code 100 shown in FIGS. 1, 5 and other drawings isproduced by the foregoing information code producing apparatus 2, forexample, and has a predetermined code area REG in which cells 102, eachcorresponding to a unit for displaying pieces of information, arearranged. In the information code 100 shown in FIGS. 1, 5 and otherdrawings, the “code area” is a rectangular region REG which can containall of a plurality of dark cells (refer to FIGS. 1 and 5), andpractically, is a minimum square or rectangular region which containsall of three position detecting patterns (finder patterns) 104.

Specifically the plurality of cells 102 are arranged or mapped accordingto a predetermined rule, so that the outer contours of some cells amongthose cells produce series of those contours which draw a square,rectangular, or other-shape area on or in a medium R differentiabllyfrom the background. This area becomes the code area REG. Of course,when this information code is read, it is necessary that there is aquiet zone (margin) around the code area REG. The quiet zone should havea size corresponding to a given number or more of cells.

In the example shown in FIGS. 1, 5 and other drawings, each of theplurality of cells 102 is composed of a rectangular (e.g., square) light(e.g., white) cell or a rectangular dark (e.g., black) cell. Inside thecode area, there is a free space (or called a canvas area) 110, whichwill be detailed later, and some of the cells 102 are located around thefree space 110 in a matrix form. The terms “light color” and “darkcolor” of the light and dark cells are used herein to showrepresentative colors which give a relative difference to luminancelevels (i.e., contrast) when light reflects from the cells, so that thecells can be binarized to show a higher or lower luminance than a giventhreshold. Hence, it is not always confined to using the while and backcells. For example, the possibilities for light and dark colors areexplained in detail by references such as “International StandardISO/IEC18004, second edition 2006-09-01, page109, Annex M, “M1 Symbolcontrast””.

In the information code 100, a light-color or dark-color margin zone isformed as a quiet zone to surround the code area. In the example shownin FIGS. 1, 5 and other drawings, a light-color margin zone is adjacentto surround the code area.

In the information code 100, there are provided a specification patternregion, a data recording region, and an error correction code recordingregion in its rectangular code (e.g., square, rectangular or any othershapes) code area. In the specification pattern region,predetermined-shaped specification patterns (practically, fixed-figureregion wider in area than a single cell) are arranged. In the datarecording region, data are recorded by the plurality of types of cells102 and in the error correction code recording region, error correctioncodes are recorded by the plurality of types of cells 102. As shown inFIGS. 1, 5 and other drawings, by way of example, the specificationpatterns arranged in the information code 100 are the same in theirshapes and positions as those of known predetermined models of a QR code(registered trademark) (in the example shown in FIG. 5, thepredetermined models of the QR code standardized by JIS or otherstandards). In the example shown in FIGS. 1, 5 etc., three positiondetecting patterns (finder patterns) 104 are arranged at three cornersof the code area respectively and, at predetermined positions, timingpatterns 106 and alignment patterns 108 are arranged. The patterns 104,106 and 108 serve as the specification patterns. The timing patternsand/or alignment patterns are not always necessary to be arranged.

In this way, at the predetermined positions in the code area of theinformation code 100, there are arranged the fixed-shaped specificationpatterns (i.e., the position detecting patterns 104, timing patterns 106and alignment patterns 108 (omitted from FIG. 5). Inside the code area,a space other than the later-described free space 110 is used forarrangement of such specification patterns, recording regions (each ofwhich is the recording region or the error correction code recordingregion), and other necessary regions.

The reader 10 may use many methods to interpret the number of lines andthe number of columns, which are composed of cells, of the informationcode 100, the shapes and positions of the specification patterns, theposition of format information, candidate positions of code words (i.e.,addresses specifying the arrangement order of code words), and others.For example, a plurality of versions may be set depending on types ofthe information code 100, where, for each of the versions, the number oflines of cells and the number of columns of cells, the shapes andpositons of the specification patterns, the positions of formatinformation, and candidate positions (addresses) of code words may bepredetermined. When version information is arranged at predeterminedpositions (reserved regions) in the code area, the reader 10 can readthe version information at the predetermined positions. Based on thisversion information, the reader 10 can understand the number of lines ofcells and the number of columns of cells, the shapes and positions ofthe specification patterns, the positon of the format information, thecandidate positions (addresses) of code words in the information code100. The reader 10 may use an alternative approach to understand theforegoing pieces of information.

In addition, inside the code area, the free space 110 is formed to havea size larger than the size of the single cell 102. This free space 110is located at a region other than the specification pattern regions,data recording region, and error correction code recording regions. Inthe free space 110, cells showing data being interpreted as output datafor reading are not recorded. In other words, the free space 110 can beset as a region in which data on the cells 102 are not recorded and towhich error correction on error correction codes are not applied. Thisfree space 110 can be used to record data therein or draw designstherein by using a technique different from that for recordinginformation on cells in the data recording region and the errorcorrection code recording regions.

In the example shown in FIGS. 1, 5 etc., the data recording region andthe error correction code recording regions are arranged along the innerends of the code area so that such regions are located in a ring andrectangular shape, while the free space 110 is formed in a central partof the code area.

In the following, a representative example will be explained in which acode configuration assigned to a predetermined version drawn as theright figure in FIG. 5 is made to correspond to a code configurationassigned to a further version (i.e., version number) smaller than thepredetermined version as the left figure in FIG. 5. Moreover, thepositions of respective code words of the information code 100 drawn onthe right side of FIG. 5 are made to correspond to the positions ofrespective code words of another type of code 120 drawn on the left sideof FIG. 5 by an arrangement conversion table shown in the lower part ofFIG. 5. In this example, as long as an amount of data can be stored inthe other type of code 120 shown on the left side in FIG. 5, such datacan expressed in a region which remains after formation of the freespace 110 the information code 100 on the right side in FIG. 5. When theinformation code 100 on the right side of FIG. 5 is read, the code wordsof this information code 100 can be read such that they are code wordsof the other type of code 120 on the left side in FIG. 5.

On the right figure of FIG. 5, the regions of the respective code words,which are mapped around the free space 110, are conceptually shown bydashed line frames. Regions in which the format information (i.e., thecells at the predetermined positions 105) are conceptually shown by apredetermined type of hatched lines. The regions in which the formatinformation or the code words are recorded are shown by only squares,omitting practical cell arrangements from being drawn. In addition,although the example shown on the right side in FIG. 5 provides the freespace 110 located at the central part of the code area has squares drawntherein, the free space 110 can be configured freely, so that the freespace 110 may be drawn with a design as shown in FIG. 1, with symbolsand/or patterns, or with a blank (refer to (A) to (C) of FIG. 10). Thefree space 110 is formed to correspond to an arrangement of cells.

The format information (type information) is configured as shown in FIG.6 for example, and recorded at the predetermined positions 105 (portionswith a predetermined type of hatched lines) in the information code 100.This recording is performed on a specified format configuration. Thisformat information includes correction level information for specifyingan error correction level and mask number information for specifying amask number. The correction level information is to specify an errorcorrection level used by the information code 100 and corresponds to anerror correction level used by the other type of information code 120when the information code 100 is converted to the other type of code 120for reading thereof. The mask number is used to specify what type ofmasking has been applied to the code word region of the information code100, where code words of data and an error correction are recorded inthe code word region. Incidentally the correction level information andthe mask information can be set by the same method as that used by theQR code (registered trademark), and may be set using other methodsprovided that the error correction level and the mask type can bespecified by such other methods. The code word region of the informationcode 100 is masked by a known masking method specified by the foregoingmask number.

The format information shown in FIG. 6 is recorded so that apredetermined type of mask pattern (a specified mask) is reflected inthe format information. That is, using a known masking method, thepredetermined type of mask pattern is applied to arrangements of lightand dark cells showing data corresponding to the format information. Thetype of mask indicated by the format information is identified by amethod similar to a known QR code, thus making it possible to detect aspecified code type as shown on the right side in FIG. 5 (i.e., a codetype with the free space 110).

In the QR code (registered trademark) according to a known standard,when the QR code is configured on a model 1 for example, a mask for themodel 1 is applied to the format information shown in FIG. 6, so thatdata (i.e., a cell arrangement) are produced by the masking and theproduced data are recorded at predetermined positions. Similarly, inconfiguring the QR code on a model 2, a mask for the model 2 is appliedto the format information shown in FIG. 6, so that data (i.e., a cellarrangement) are produced by the masking and the produced data arerecorded at predetermined positions.

Meanwhile, in the information code 100 shown in FIG. 5 of the presentembodiment (that is, in the special type of code with the free space110), a specified mask which is different in type from the models 1 and2 is applied to the format information shown in FIG. 6. This applicationproduces an expression of data (i.e., an arrangement of cells), and thedata are recorded in predetermined positons 105. In this example, thespecified mask is exemplified as being for a casing trim QR (quickresponse) (or frame QR) in FIG. 6 and the frame QR is one kind of thetwo-dimensional code.

For any type selected from the models 1 and 2 on a known standard andthe information code 100, the formal information is configured such thatcheck digits for a correction level (correction level information) forrecording and a mask number are included in the format information, andmaking for the selected type is then applied to the format information.Practically, the mask pattern for each type is used to be subjected tothe format information using a known masking process, resulting in thatan arrangement of light cells and dark cells, corresponding to a maskedbit pattern, is recorded at the predetermined positions 105.

Accordingly, when the format information is masked by a specified mask(in FIG. 6, this specified mask is exemplified as being for the fame QR)and recorded at the predetermined positions 105, the cell informationrecorded at the predetermined positions 105 is released from beingmasked by using the specified mask and then interpreted for revealingthe same check digits. Thus it can be determined that the type is forthe information code 100.

In contrast, if the cell data at the predetermined positions in theinformation code 100 are un-masked based on the masks for the model 1 or2, the check digits are produced differently from the originally addedcheck digits. It can thus be determined that an information code is notaccording to the known models 1 and 2.

In this information code 100, the specification patterns (such as theposition detecting patterns 104) are detected, and the same method asthat for known QR codes is used to specify the direction of the code andthe positions of the respective cells, before the format informationrecorded at the predestined positions are interpreted using the samemethod as that for the known QR codes. The type of a mask which has beendisclosed through the interpretation provides the type of theinformation code 100, i.e., the type of this code is a special type withthe free space 110. The interpreted format information results indetermining both an error correction level used in the information code100 and the type of a mask applied to the code word region (i.e., aregion in which data code words and error correction code words arerecorded). In addition, for example, the predetermined positions 105 ofthe code are previously understood by the reader 10.

Contents recorded in the information code 100 are formatted into a dataarrangement as shown in FIG. 3, for example. Header data are put at thehead of the data arrangement, which are followed by input data (i,e.,data to be interpreted). In the example shown in FIG. 3, the input data(data to be interpreted) are compressed using a known compressingtechnique so that the input data are converted into data words (or datacode words). This compression may be omitted, if it is unnecessary. Theheader data used in this information code 100 are also called “headerfor frame QR” in the following explanation. Further, in the presentdisclosure, the data recording region is composed of regions in whichthe data words (data code words) of the header data and the input dataas well as regions in which the forgoing format information is recorded.In the example shown in FIG. 3, there are recorded, as the header data(the header for the fame QR), not only specifying information but alsoidentifying information are recorded. The specifying information, whichis exemplified as being the version number in FIG. 3, is able to specifythe type (version) of the other type of code 120 later described. Thisother type of code 120 is a code type for interpreting the informationcode 100 and made to correspond to the information code 100 via thearrangement conversion table (shown in FIG. 5). The identifyinginformation is used to identify a format in the free space.

Furthermore, the input data (i.e., data words being interpreted) arefollowed by error correction code words (ECC words) which are errorcorrection codes. In the information code 100, a region in which theerror correction codes are recorded functions as an error correctioncode recording region. As a method of producing error correction codes(i.e., error correction code words) based on the data words (i.e., theheader data and the input data (which are data to be interpreted) in theexample shown in FIG. 3), methods based on known two-dimensional codes(such as QR codes) can be employed. By way of example, as a method ofproducing the error correction code words based on the data words (i.e.,data code words), a production method for error correction code wordsregulated by JISX0510:2004 (, which is JISX0510:2004, 8.5 errorcorrection) can be used as one of known methods. This production methodfor the error correction code words is not limited to the foregoing, andthis production may be performed using various other methods.

Moreover, in the information code 100, the respective data words (datacode words) expressing data being interpreted (object data to beoutputted) and the error correction code words are arranged or mappedwithin the code area on the basis of predetermined arrangement positioninformation. In this configuration, as shown in FIG. 5, arrangementcandidate positions for respective code words are defined previously inthe code area of the information code 100, and the numbers (addresses)are assigned to the respective arrangement candidate positions. Thearrangement position information specifies arrangement of the code wordssuch that the respective code words composing the recording contentsshown in FIG. 3 should be arranged at which of the arrangement candidatepositions. In the example shown on the right figure in FIG. 5, thearrangement candidate positions Nos. 1-25 are outlined by way ofexample, in which the head and last bit portions are numbered forexplicit showing in each of the arrangement candidate positions andarrangement candidate positions of Nos. 26 or higher are omitted frombeing drawn.

Specifically, in the case of the version of the other type of code 120(in this case, a known QR code) where the version is specified by theheader data shown in FIG. 3, known regulations or rules are applied todetermine that each of the code words having an arrangement order shouldbe arranged or mapped at which position in the other type of code 120.In interpreting the other type of code 120, the arrangements defined inthis way are used to interpret the code words in the arrangement order.For instance, in the other type of code 120 shown on the left side inFIG. 5, the zero-th code word is arranged at the lower right, the firstcode word is arranged next to the upper edge of the zero-th code word,and the second code word is arranged next to the upper edge of the firstcode word. In this way, the arrangement positions of the respective codewords are decided previously. The other type of code 120 is thusinterpreted in sequence based on the predetermined arrangements, likethe order starting from the zero-th code word, the first code word, thesecond code word, the third code word, . . . , and to the last one.

The arrangement positon information (the arrangement conversion table)shown in FIG. 5 is provided to make the numbers of the respectivearrangement positions (i.e., arrangement positions of the code wordsaccording to the arrangement order) previously decided in the other typeof code 120 correspond to the numbers of the candidate positions (i.e.,the arrangement candidate positions of the code words) previouslydecided in the information code 100, respectively. To be more precise,in the arrangement position information, correspondence informationshowing “the arrangement position of the first code word in the othertype of code 120 corresponds to the first arrangement candidate positionin the information code 100”, “the arrangement position of the secondcode word in the other type of code 120 corresponds to the secondarrangement candidate position in the information code 100”, “thearrangement position of the third code word in the other type of code120 corresponds to the third arrangement candidate position in theinformation code 100”, and so on, is recorded as, for example, tabledata. As a result, the arrangement positions of the code words numberedin the other type of code 120 are made to respectively correspond to thearrangement candidate positions of the information code 100.

Thus, in interpreting the information code 100, the code words at thearrangement candidate positions in the code area, i.e., the addressedcode wards in the code area, are re-arranged to arrangement positions inthe other type of code 120 which arrangement positions are specified bythe arrangement position information (i.e., the arrangement conversiontable). The other type of code 120 thus re-arranged is then subjected tointerpretation based on a known interpretation method (e.g., a knowndecoding method for the QR code).

For example, by using the arrangement conversion table shown FIG. 5 tointerpret the information code 100, the code word at the firstarrangement candidate positon in the information code 100 is arranged atan arrangement position assigned to the first code word in the othertype of code 120; the code word at the second arrangement candidatepositon in the information code 100 is arranged at an arrangementposition assigned to the second code word in the other type of code 120;and the code word at the N-th arrangement candidate positon in theinformation code 100 is arranged at an arrangement position assigned tothe M-th code word made to correspond to the N-th arrangement candidateposition in the other type of code 120. As exemplified above, there-arrangement is performed for every code word, and the other type ofcode (e.g., QR code) whose code words are re-arranged is subject to aknown interpretation method.

It is preferable that the arrangement position information (thearrangement conversion table) is owned, as common data (a commonarrangement conversion table), by both the information code producingapparatus2 producing the information code 100 and the information codereader 10 reading the information code 100.

(Production Process of Information Code)

Referring to FIG. 8 and other drawings, an information code producingprocess and an information code producing method will now be described.

The following description is directed to a QR code (registeredtrademark) exemplified as the other type of code 120 and the informationcode 100 has the specification patterns which are the same as those ofthe QR code, as shown in FIG. 5. In this example, the information code100 with the free space 110 is also referred to as a “frame QR”. Stepscomposing a process for the production are shown by adding a referencenumeral “S”.

An information code producing process is shown in FIG. 8, which isperformed by the information code producing apparatus 2. This process isstarted, for example, by a predetermined operation performed at theoperation unit 4. This process starts by obtaining from the outside datato be coded (i.e., object data being interpreted), attribute data, andcode type data (showing data used for determining whether theinformation code 100 is produced or a general two-dimensional code(e,g., a general QR code) is produced) (S1). In the presentconfiguration, the controller 3 and the operation unit 4 functionallycorrespond to one example of a data acquisition section which acquiresobject data to be interpreted (i.e., data inputted from the outside).Besides this example, another example is that the controller 3 and thecommunication unit 7 may be configured functionally as a dataacquisition section which acquires, as object data being interpreted,input data from the outside via communication

After acquisition of the object data at S1, a method for compressing theacquired object data is decided from known methods (S2). Data (i.e.,object data to be interpreted, which are inputted data which have beencompressed, are then expressed as a plurality of data wards (data codewords) (S3). It is then determined whether or not the code type dataacquired at S1 is the type of the information code 100 with the freespace 110 (frame QR) (S4). If the code type data acquired at S1 is thetype of the information code 100 (frame QR) with the free space 110, theprocessing proceeds to a step S5 from Yes from S4. At step S5, headerdata inherently used by the type of information code 100 with the freespace 110 (frame QR) is produced as described, and set at the head ofdata arrangement including a plurality of code words as shown in FIG. 3.Therefore, in the header data of FIG. 3, information (such asinformation of a version number) which is capable of specifying the type(version and format) of the other type of code 120 is recorded.Meanwhile, when the code type data acquired S1 does not show the type ofthe information code 100 with the free space 110 (frame QR), that is,the code type data are data indicating a known two-dimensional codeassigned to, for example, the model 1 or the model 2, the processingproceeds along No from step S4.

In the case of No at step S4, error correction codes are produced byapplying a known method to the data words (data code words) produced atS3, so that a plurality of error correction words (error correction codewords) expressing error correction codes are produced (S6). When theprocessing has proceeded via steps S4 and S5, the configuration of thedata words (i.e., plural data code words expressing the header data andthe input data) produced at S3 and S5 is subjected to a known method toproduce error correction codes, and a plurality of error correctionwords (error correction code words) expressing the error correctioncodes are produced (S6).

After step S6, it is again determined whether or not the code type dataacquired at S1 is the type of the information code 100 with the freespace 110 (frame QR) (S7). If the code type data does not show suchinformation code 100, the processing proceeds to S8 from No at S7. Inthis case, the version of a two-dimensional code whose size issufficient for storing both the data words (data code words) produced atS3 and the error correction codes (error correction code words) producedat S6 is decided. The version decided at this step should be a versionselected among standardized plural versions of known QR codes and formedto have a storage size sufficient for the data words produced at S3 andthe error correction words produced at S6. According to an arrangementpattern specified by the decided version, the data words produced at S3and the error correction words produced at S6 are then arranged (ormapped) (S9).

On the other hand, when the code type data show the type of theinformation code 100 with the free space 110 (i.e., QR code), theprocessing proceeds S10 via Yes at S7. The version of a two-dimensionalcode (in the example shown in FIGS. 5 and 8, a QR code) is decided. Thisversion should be a version providing a storage size sufficientlystoring the data words (data code words) produced at S3 and S5 and theerror correction words (error correction code words) produced at S6, anda free space. The free space may have a predetermined certain size or asize specified by a user's input or any other means at a stage providedbefore the step S10. The size of the free space may be designated by thenumbers of lines and columns or may be given by data which is set tocorrespond to the number of words.

In the example shown in FIGS. 5 and 8, the version is decided among theplural versions (sizes) decided depending on the type of the informationcode 100. This version has a size capable of storing the data words(data code words) produced at S3 and S5, the error correction words(error correction code words) produced at S6, and the free space. By wayof example, if there are a plurality of such versions which enablestorage such data words and the free space, the system may select aversion having the smallest storage size, or alternatively, the systemmay allow a user to designate any one version among the candidateversions.

In producing the information code 100, the specified size (the number oflines and the number of columns), arrangement of specification patterns,and candidate positions for the code words, which are decided by theversion, are used. A practical code-word arrangement order of the codewords is decided according to the foregoing arrangement conversiontable. In the following, an example is explained in detail, in which theversion showing the right figure in FIG. 5 is decided through theprocess at step S10.

At step S11 following S10, the data words (data code words) produced atS3 and S5 and the error correction words (error correction code words)produced at S6 are arranged in accordance with the foregoing arrangementposition information (i.e., the arrangement conversion table). Thisarrangement conversion table is stored in the storage 5 of theinformation code producing apparatus 2 and set such that arrangementpositions (arrangement positons of code words having an arrangementorder) specified by the other type of code 120 correspond respectivelyto predetermined candidate positions (arrangement candidate positions ofthe respective code words) in the information code 100. At step 511, thearrangement positions of the code words to be recorded (i.e., the datawords produced at S3 and S5 and the error correction words produced atS6) are specified as arrangement positions of respective code wordshaving an arrangement order and being expressed in the other type ofcode 120 shown in FIG. 4 and the left figure in FIG. 5. This other typeof code 120 is a two-dimensional code having a size smaller in area thanthe information code 100 but sufficient for storing the data wardsproduced at S3 and S5 and the error correction words produced at S6.After specifying the arrangement positions, those code words arearranged or mapped at the respective arrangement candidate positions inthe information code 100, which positions are made by the arrangementposition information (the arrangement conversion table) to correspond tothe respective code words having the arrangement order.

For example, in the arrangement position information (the arrangementconversion table shown in FIG. 5, the arrangement position of the firstcode word in the other type of code 120 and the first arrangementcandidate position of the information code 100 are made to correspond toeach other. Hence, the first code word among all the code words (i.e.,the data words produced at S3 and S5 and the error correction wordsproduced at S6) is arranged at the first arrangement candidate positionin the information code 100. Similarly, the arrangement positon of thesecond code word in the other type of code 120 and the secondarrangement candidate position in the information code 100 are made tocorrespond to each other, whereby the second code word is arranged atthe second arrangement candidate position in the information code 100.The arrangement position of the N-th code word in the other type of code120 is made to correspond to the M-th arrangement candidate position ofthe information code 100. Accordingly, the N-th code word is arranged atthe M-th arrangement candidate position in the information code 100.

In a case where only code words composed of the data words produced atS3 and S5 and the error correction words produced at S6 are arranged,the other type of code 120 (a known QR code) whose size is smaller thanthat of the information code 100 can still afford the expression of suchcord words. However, when storing the data words produced at S3 and S5,the error correction words produced at S6, and the free space 110, theinformation code 100 is necessary which has a larger size. Hence, in thepresent embodiment, he data words produced at S3 and S5, the errorcorrection words produced at S6, and the free space 110 are expressed bythe information code 100, in which arrangement positions of the datawords produced at S3 and S6 and the error correction words produced atS6 are decided between the arrangement positions of code words in theother type or code 120 (a known QR code) and those in the informationcode 100 using the arrangement conversion table.

In the present configuration, the arrangement conversion table shown inFIG. 5 exemplifies arrangement position information used to specifyarrangement positions in the code area, at which plural data wordsexpressing object data being interpreted are arranged the arrangementpositions. This arrangement conversion table (i.e., the arrangementposition information) is configured to provide correspondenceinformation between the order of plural data words expressing objectdata to be interpreted and arrangement positions of data words to bearranged in the order in the code area. The storage 5 exemplifies anarrangement positon information storage in which data of the arrangementconversion table (arrangement position information) are recorded.

After steps S9 or S11, a mask pattern which should be applied to thecode words of which arrangement positions are decided at S9 or S11 isdesignated by a known predetermined method (e.g., a known method used bythe QR code) and the designated mask pattern is applied to the codewords (S12). Hence the mask pattern is reflected on the code words ofwhich arrangement positions are decided at S9 or S11. Based oninformation (mask number) showing the mask pattern which has been setstep S12 and information showing the error correction level, checkdigits are calculated, and format information including the errorcorrection level, the mask number, and the check digits is produced(S13).

When the code type data acquired at S1 shows the information code 100with the free space 110 (i.e., the frame QR), the process proceeds alonga route Yes at step S14. Hence, a masking process is performed so thatthe foregoing designated mask (a mask for the frame QR) is reflected inthe format information produced at S13 (refer to FIG. 6) (S16).Meanwhile when the code type data acquired at S1 does not show theinformation code 100 with the free space 110 (i.e., the frame QR), theprocess proceeds along a route No at step S14. In this case, a mask(e.g., a mask for the model 1 or 2), whose mask pattern is differentfrom the mask pattern set S16, is set and applied to the formatinformation (S15). After masking the format information at S15 or S16,the masked format information is arranged at the predetermined positionsin the code area (for example, the predetermined positons 105 of theinformation code 100 as shown in FIG. 5) (S17). In this way, theinformation code 100 or the other type of code 120 is produced, and thecode is printed by the printer 8 (S18). At step S18, in place of theprinting, such a produced code may be displayed using the display unitor transmitted as data of the information code 100 to an apparatusplaced outside the system.

In the present embodiment, the controller 3 of the information codeproducing apparatus 2 exemplifies the data-recording region producingsection. Thus, for the code area with the free space 110, the datarecording region is produced such that the format information isrecorded at the predetermined positons of the code area in the specifiedformat configuration and the data expressing the object data beinginterpreted (i.e., the input data) acquired by the data acquiringsection are arranged according to the arrangement position informationstored in the arrangement-position information recording section.Furthermore, in the data-recording-region producing section, composed bythe controller 3, for the code area with the free space 110, the cellsare arranged at the predetermined positions 105 in a state where thepredetermined type of mask pattern (the designated mask) has beenreflected in the cells.

Furthermore, in FIGS. 4 and 5, the other type of code 120 has, at itsthree corners, positon detecting patterns 124 which are producedautomatically and which correspond to the position detecting patterns104 of the information code 100

(Reading Process of Information Code)

A reading process for the information code 100 shown in FIG. 1 and onthe right side in FIG. 1 will now be described, which process isperformed by the information code reader 10 shown in FIG. 2. The stepsshown in this reading process are abbreviated by a symbol “S.”

The reading process shown in FIG. 9 is performed when, for example, auser performs a given operation (for example, at the operation switch42). As shown at S21 in FIG. 9, the information code 100 is imaged toobtain an image of this information code 100, and the outer shape of thecode 100 is detected. Practically this detection is carried out suchthat the position detecting patterns 104 is first detected using a knownmethod (i,e., a known method used in reading the QR code), and the code100 is then subjected to detection of its outer shape using a knownmethod in reading the QR code. In this embodiment, the light receivingsensor 23 corresponds to an imaging unit, which functions as a device toimage the information code 100 produced by the information codeproducing apparatus 2.

The step S21 is followed by interpreting information (formatinformation) mapped at the predetermined positions of the informationcode 100 such that the type of the code 100 and a masking correctionlevel are obtained (S22). As described, if check digits coincide witheach other when the information recorded at the predetermined positions105 has been interpreted after unmasking the format information usingthe foregoing designated mask (a mask for the frame QR), it can bedetermined that this type of code is an information code 100 with a freespace 110. It is therefore possible to acquire an error correction leveland a mask number included in the format information.

Using the mask number included in the format information obtained atS22, the whole code (specifically, the code word regions) is removedfrom being masked (S23). When an object being read is such aninformation code 100 with the free space 110 (i.e., the mask removal hassucceeded by the foregoing designated mask (the mask for the frame QR),the processing proceeds along a path, Yes, from step S24 to steps S24and S25. Interpreting the header data arranged at the head of the datawords (the frame QR header, refer to FIG. 3) makes it possible tospecify an original code size (i.e., the version of the other type ofcode 120) (S25). Furthermore, using an arrangement conversion tablecorresponding to that shown in FIG. 5 makes it possible to return theinformation code 100 shown on the right side in FIG. 5 to the originalcode (i.e., the other type of code 120) shown on the left side in FIG. 5(S26). To be specific, the code words arranged at the arrangementcandidate positions in the information code 100 are re-arranged atarrangement positons in the other type of code 120, which arrangementpositions are made to correspond to the respective arrangement candidatepositions in the arrangement conversion table.

If the determination is No at S24 and the processing at S26 hasfinished, recorded code words are specified and produced based on thecell arrangements (S27), i.e., cell arrangements of the QR code beingread when the determination is No at S24 and cell arrangements of theother type of code 120 arranged at S26 when the processing proceeds fromS26 to S27.

A known technique is then applied to error correction code wordsrecorded in the error correction code recording region so as tocalculate error correction, and the code words in the data recordingregion are interpreted (S29). The data (data being interpreted) at S29are then displayed by the display and/or outputted via data transmissionand/or printing (S30). Alternatively, in the step S30, the datainterpreted at step S29 may be outputted as they are or after beingprocessed by other data processing techniques.

In the present embodiment, the control circuit 40 is exemplified as adetermination device. When the imaging unit captures an image of theinformation code 100, this determination section determines whether ornot the predetermined positions 105 of the code area have a specifiedformat configuration. Concretely, the determination section determineswhether or not a predetermined type of mask pattern is reflected at thepredetermined positions 105.

The control circuit 40 also serves as an interpretation device, so that,when the imaging unit images the information code 100, theinterpretation section interprets data recorded in the data recordingregion based on the contents of both the data recoding region and theerror correction code recording region. In other words, in cases whereit is determined by the determination section that the predeterminedpositions are configured in a specified format (specifically, apredetermined type of mask pattern is reflected at the predeterminedpositions), correspondence information (i.e., the arrangementconversation table) recorded in the correspondence information recordingsection is used to specify positions of the respective data words in thecode area. Hence, the object data are interpreted.

The arrangement conversion table is one example of the correspondenceinformation, in which the data words expressed in sequence with thearrangement positions in the code area are defined as correspondingpositions in the other type of code 120 when the data words areexpressed by a predetermined method (for example, a known standard) inthe other type of code 120. The control circuit 40, which corresponds tothe interpretation section, replaces the data words arranged in sequencein the arrangement positions of the code area with the correspondingpositions in the other type of code 120 using the correspondenceinformation (the arrangement conversion table), and then interprets theother type of code 120, in cases where the determination sectiondetermines that the cells at the predetermined positions 105 areformatted in a designated format configuration,

As described, it is possible to produce the information code 100 withthe code area which includes the regions other than the data recordingregion, error-correction-code recording region, and the specificationpattern regions. In particular, the free space 110 will not be subjectedto the error correction. Hence, it is not necessary to set errorcorrection codes for this free space 110, thus providing an efficientand effective error correction to the data in the data recording region.

Moreover, if the information code producing apparatus 2 includes thedata acquisition device acquiring data being interpreted, thearrangement-position information recording device (which recordsarrangement position information necessary for specifying arrangementpositions in the code area when the plural data words expressing thedata being interpreted are arranged in the code area), and the freespace 110 formed in the code area, the apparatus 2 further includes thedata-recording region producing device producing a data recordingregion. This producing device produces the data recording region suchthat the format information is recorded at the predetermined positionsin the code area in a specified format configuration and the respectivedata words expressing the data being interpreted are arranged dependingon the arrangement position information.

Meanwhile, the information code reader 10 includes the correspondenceinformation recording device, the determination device, and theinterpretation device. The correspondence information recording devicerecords correspondence information which corresponds to the arrangementposition information recorded in the arrangement-position informationrecording section and is used to specify arrangement positions of pluraldata words in the code area. The determination device determines whetheror not the predetermined positions of the code area are configured toshow a predetermined format configuration in cases where the imagingunit captures the imaging code 100. Further the interpretation deviceinterprets specify the positions of the data words in the code areausing the correspondence information corroded in the correspondenceinformation recording section, and interprets the data beinginterpreted.

In this case, in the information code reader 10, the determinationdevice confirms the format configurations at the predetermined positions105, whereby the reader can determine whether or not an information codeproduced by the information code producing unit 2 is a specificinformation code 100 (i.e., the information code 100 with the free space110). If it is determined that the format configurations are specific,the data words in the code area can be specified in their positions inthe code area, based on the correspondence information, leading tointerpreting the data.

Moreover, the information code producing apparatus 2 includes thedata-recording region producing device which configures cellarrangements at the predetermined positions 105 when the free space 110is produced in the code area. In this case, the cells are arranged to bemasked using a predetermined type of mask pattern. Additionally,responsively to imaging the information code 100 using the imaging unit,the information code reader 10 includes the determination device whichcan determine whether or not the predetermined positions 105 are maskedby the predetermined mask pattern, and if being masked, theinterpretation device of the reader 10 interprets data beinginterpreted.

Hence, in this configuration, depending on the type of a mask patternapplied at the predetermined positions 105, it can be determinedreliably whether or not there is provided a specific information code100 (provided with the free space 100) produced by the information codeproducing apparatus 2. This results in lesser amount of data for theformat information, while still easily obtaining a specified formatconfiguration.

In this embodiment, the arrangement position information (i.e., thecorrespondence information) is provided to define correspondence, one byone, between sequential data words expressed by converting data beinginterpreted to a plurality of data words and arrangement positions ofthe sequential data words in the code area. Concretely, the arrangementposition information is set such that the sequential data wordsexpressed by the arrangement positions in the code area definecorrespondent positions in the other type of code 120 in cases this code120 different from the information code 100 is used for the expression.When the determination device determines the specific formatconfiguration applied at the predetermined positions, the interpretationdevice interprets the other type of code 120 under a condition that thedata words sequentially expressed by the arrangement positions in thecode area are converted, through the correspondence information, to thecorrespondent positions in the other type of code 120. As a result, thereading scheme for the other type of code 120 can be used to read thespecific information code 100 (which is an information code providedwith the free space 110).

Second Embodiment

A second embodiment will now be described.

A system which uses an information code according to the secondembodiment employs the hardware configuration which is the same as thatin the first embodiment, so that the foregoing configurations shownFIGS. 1 and 2 are still be used in the second embodiment.

In the system using the information code in the second embodiment, theinformation code producing apparatus 2 (refer to FIG. 1 etc.) producesan information code 200 as shown in FIG. 11(B). The code area includesin a specification pattern region in which predetermined-shapespecification patterns 204 are arranged, and a data recording region inwhich data are recorded by a plurality of types of cells. Additionally,at a position other than the specification pattern regions inside thecode area, a free space 210 is arranged using a method different from amethod for recording data in the data recording region. At least one ofdata recording or design display can be allowed in the free space 210.This free space 210 has a size larger in area than a single unit cell.

In this example, the remaining parts except for the free space 210 areconfigured as a known QR code (registered trademark). As shown in FIG.11(A), the code area includes the specification pattern regions, thedata recording region, and an error-correction code recording region inwhich error correction codes are recorded by the plurality of cells. Inthis example, recording methods used for recording both data code wordsin the data recording region and error correction code words into theerror-correction code recording region are identical to those for aknown QR code (registered trademark). For instance, the methodsstandardized by JISX0510 are used to position for arranging the positiondetecting patterns 204, data code words in the data recording region,and error-correction code words in the error-correction code recordingregion.

In this example, however, as shown in FIG. 11(A), there is produced aninformation code 200′ in which the code words of part of the region isexpressed by only white cells and the free space 210 is formed as aregion expressed by only the while cells. And as shown in FIG. 11(B),inside the free space 210, a design composed figures, patterns, dues ora combination of those factors, or/and, bits of information expressed byone or more symbols are displayed. In the case shown in FIG. 11(B) inwhich a design D is displayed in the free space 210, which is differentfrom the original code presentation shown in FIG. 11(A). However, thedata in the free space 210 can still be subjected to known errorcorrection performed using the error correction codes recorded in theerror-correction code recording region.

In the information code 200 in FIG. 11(B), the free space 210 ispositionally specified in advance. Thus, in cases where a design and/orbits of information is added and displayed in the free space 210, aposition at which an error has been caused due to this display can beknown previously. It is therefore possible to configure error correctioncodes in the error-correction code recording region in such a mannerthat disappearance correction of the data is performed under anassumption that error positions are known by the positon of the freespace 210. Information showing the position of the free space 210 canpreviously be recorded in the data recording region, or stored in thereader 10 (refer to FIG. 1), whereby the reader 10 can specify theposition of the free space 210 (i.e., positions of data code words whichhave caused errors) when reading. The reader 10 is thus able to correctloss of data based on the recorded error correction codes, so that theerrors of the data code words present in the free space 210, of whichposition has been specified, are corrected.

Additionally, of the data to be recorded in the data recording region,data (i,e., objet data outputted) mapped before a terminator showing theend of data being interpreted may be arranged outside the free space 210and a region following the terminator, which is mapped with pad codewords (data which are not interpreted), may be assigned to the freespace 210. In this example, by way of example, the region with the padcode words is all displayed by only the white cells.

Third Embodiment

A third embodiment will now be described.

A system which uses an information code according to the thirdembodiment employs the hardware configuration which is the same as thatin the first embodiment, so that the foregoing configurations shownFIGS. 1 and 2 are still be used in the third embodiment.

In the system using the information code according to the thirdembodiment, the information code producing apparatus 2 (refer to FIG. 1etc.) is configured to produce an information code 300 as shown in FIG.12(B). In this configuration, the code area includes a specificationpattern region and a data recording region mapped with data using aplurality of types of cells. In the specification pattern region,predetermined-shape specification patterns include an L-shaped alignmentpattern 304 a and timing cells 304 b occupying an L-shaped regionextending along outer boundaries of the code area. In the timing cells,light cells and dark cells are aligned alternately one by one.Additionally, at a position other than the specification pattern regionsinside the code area, a free space 310 is arranged using a methoddifferent from a method for recording data in the data recording region.At least one of data recording or design display can be allowed in thefree space 310. This free space 310 has a size larger in area than asingle unit cell.

In this example, the remaining regions other the free space 310 areformed as a known DataMatrix code. As shown in FIG. 12(A), the code areaincludes a specification pattern region, a data recording region, and anerror-correction code recording region with error correction codesmapped by plurality of types of cells. In this example, recordingmethods used for recording both data code words in the data recordingregion and error correction code words into the error-correction coderecording region are identical to those for a known DataMatrix code. Forinstance, the alignment pattern 304 a and the timing cells 304 b, datacode words in the data recording region, and error correction code wordsin the error-correction code recording region are arranged according tostandards provided by version ECC200.

In this example, however, as shown in FIG. 12(A), there is produced aninformation code 300′ in which the code words of part of the region isexpressed by only white cells and the free space 210 is formed as aregion expressed by only the while cells. And as shown in FIG. 12(B),inside the free space 310, a design composed figures, patterns, dues ora combination of those factors, or/and, bits of information expressed byone or more symbols are displayed. In the case shown in FIG. 12(B) inwhich a design D is displayed in the free space 310, which is differentfrom the original code presentation shown in FIG. 12(A). However, thedata in the free space 310 can still be subjected to known errorcorrection performed using the error correction codes recorded in theerror-correction code recording region.

In the information code 300 in FIG. 12(B), the free space 310 ispositionally specified in advance. Thus, in cases where a design and/orbits of information is added and displayed in the free space 310 and theerror position due to the display can be known previously. It istherefore possible to configure error correction codes in theerror-correction code recording region in such a manner thatdisappearance correction of the data is performed under an assumptionthat error positions are known by the positon of the free space 310.Information showing the position of the free space 310 can previously berecorded in the data recording region, or stored in the reader 10 (referto FIG. 1), whereby the reader 10 can specify the position of the freespace 310 (i.e., positions of data code words which have caused errors)when reading. The reader 10 is thus able to correct disappearance ofdata based on the recorded error correction codes, so that the errors ofthe data code words present in the free space 310, of which position hasbeen specified, are corrected.

Other Embodiments

The present disclosure will not be limited to the embodiments describedabove, and the following embodiments will still be construed within agist of the present disclosure.

The present disclosure can be practiced as a display apparatus capabledisplaying one, plural or all of the information codes described in theforegoing embodiments. Similarly the present disclosure can be practicedas a printing apparatus capable of printing at least one of theforegoing embodiments. Additionally the present disclosure can beapplied to a computer-readable program which enables a computer toproduce at least one of the foregoing information codes. As a similarmanner to the foregoing, the present disclosure can be practiced as arecording medium in which the foregoing computer-readable program isstored. As a further category of the present disclosure, there can beprovided an information code medium on which at least one of theforegoing information codes are arranged. Such an information codemedium may be a code carrier produced by a printing technique or adirect marking technique for example. Another further aspect of thedisclosure may be realized as images in which at least one of theforegoing information codes are displayed.

An alternative to the configurations shown in FIG. 1 and other drawingsis to provide the information code producing apparatus 2 in theinformation code reader 10, though both of the information codeproducing apparatus 2 and the information code reader 10 are providedseparately from each other in FIG. 1 for instance.

Although the foregoing embodiments have been exemplified as the codesprovided with the code area 110 in their central parts, the free space110 may not be limited to being, located in such arrangements. By way ofexample, the code area can be formed closer to edges thereof, not in thecentral part. The free space may be blank as shown in FIG. 10(A), may bedesigned as shown in FIG. 10(A) and (B), or may be presented with bitsof information composed of one or more symbols. Alternatively, designscan be displayed in the free space together with bits of information.Still alternatively, the free space may be presented with various otherdesigns which differ from a pattern shown in FIG. 10(B) and/or a figureshown in FIG. 10(C), as long as the design is composed of figures,patterns, or colors or a combination thereof. Moreover, when presentingbits of information instead of the design in the design or in caseswhere bits of information are pretended with a design in the free space,various types of information can be employed. For example, theinformation can be provided as names of a body (business owner orindividual) who supplying data to be recorded in the information code100 and/or a site address managed by such body, or names of goods and/orservices concerning with data to be recorded in the information code100.

In the foregoing embodiments, the other type of code has beenexemplified as a QR code and the specification patterns used by theinformation code 100 are explained as the specification patterns for QRcodes, but other types of information codes may be adopted. One exampleis that the other type of code is a DataMatrix code and thespecification patterns used by the information code 100 arespecification patterns used in the DataMatrix code.

The correspondence relationship provided in the arrangement conversiontable shown in FIG. 5 can also be altered arbitrarily as shown in FIG.7. For example, if the conversion table is changed as shown in FIG. 7from that shown in FIG. 5, the information code producing apparatus 2and the information code reader 10 produces and reads an informationcode 100, in which arrangements of the 22-th to 26-th code words arechanged, so that a produced free space 110 is also changed in itsposition and shape. Concretely, the arrangements of the 22-th to 26-thcode words are from those shown in the right figure in FIG. 5 (in whichsuch code words are recorded at the 22-th to 26-th arrangement candidatepositions) to those shown in the right figure in FIG. 7 (such code wordsare recorded at the 42-th to 26-th arrangement candidate positions). Inother words, according to this modified example, changing or adjustingcontents of the arrangement conversion table makes it possible to changeor adjust the positon and/or shape of the free space 110 to be produced,thus raising the degree of freedom of designing free spaces.

REFERENCE SIGN LIST

-   1 . . . system which uses an information code-   2 . . . information code producing apparatus-   3 . . . controller (data acquiring device, data-recording region    producing device)-   4 . . . operation unit (data acquiring device)-   5 . . . memory (arrangement-position information recording section)-   7 . . . communication device (data acquiring device)-   10 . . . information code reader-   23 . . . imaging unit)-   35 . . . memory (correspondence information recording section)-   40 . . . control circuit (interpretation device, determination    device)-   100,200,300 . . . information code-   102,202,302 . . . cell-   104,204 . . . (specification pattern)-   304 a. . . (specification pattern)-   304 b. . . (specification pattern)-   110,210,310 . . . free space (AR)-   120 . . . QR code serving as another type of code-   R . . . object being read (medium)-   REG . . . code area

What is claimed is:
 1. A method of producing an information code, the method comprising: arranging, in the code area, a specification pattern region in which predetermined-shape specification patterns are arranged in the code area, the specification patterns including patterns indicating a position of the code area; arranging, in the code area, a data recording region in the code area, data coded is recorded in the data recording region by a plurality of types of cells, the cells being arranged in a predetermined code area of a medium, the cells functioning as a unit of information; arranging a free space at a position located outside the specification pattern region in the code area, the free space having a size larger in area than a single cell, the free space being arranged using a method which is different from a method of recording the data into the data recording region such that at least one of recording data other than the cells and displaying a design is allowed in the free space, the design being given independently of the cells arranged in the data recorking region; and arranging the plurality of data words in the code area on the basis of arrangement position information recorded in an arrangement-position information recording section, the arrangement position information being recorded to specify arrangement positions in the code area, a plurality of data words being arranged at the arrangement positions, the data words expressing object data being interpreted, the object data being to be recorded in the data recording region, wherein the free space is arranged such that at least one of a position and a shape of the free space is adjustable in the code area according to the arrangement position information.
 2. The method of claim 1, wherein the specification pattern region, the data recording region, and an error correction code recording region are arranged in the code area, error correction codes being recorded in the error correction code recoding region by the plurality of types of cells, and the free space is arranged at: a position located outside the specification pattern region, the data recording region, and the error correction code recording region in the code area, the free space being excluded from error correction being performed using the error correction codes.
 3. The method of claim 2, comprising: in arranging the free space in the code area, recording format information at predetermined positions in the code area in a specified format configuration.
 4. The method of claim 2, wherein, in arranging the free space in the code area, an arrangement of the cells is configured in the code area such that a predetermined type of mask pattern is reflected in the arrangement of cells.
 5. The method of claim 2, comprising: displaying, in the free space, at least one of a design and information, the design being a figure, a pattern, a hue or a combination thereof, the information being expressed by one or more symbols.
 6. An information code formed on a medium, comprising: a specification pattern region arranged in the code region, predetermined-shape specification patterns being arranged in the specification pattern region, the specification patterns including patterns indicating a position of the code area; a data recording region arranged in the code region, coded data being recorded in the data recording region by a plurality of types of cells, the cells being arranged in a predetermined code area of a medium, the cells functioning as a unit of information; a free space arranged at a position located outside the specification pattern region in the code area, the free space having a size larger in area than the single cell, the free space being arranged using a method which is different from a method of recording the data into the data recording region such that at least one of recording data other than the cells and displaying a design is allowed in the free space, the design being given independently of the cells arranged in the data recording region; format information of the code recorded at predetermined positions in the code area in a specified format configuration, the predetermined positions being outside the free space; a plurality of data words arranged in the code region on the basis of predetermined arrangement position information, the data words expressing object data being interpreted, the object data being to be recorded in the data recording region, wherein the free space is arranged such that at least one of a position and a shape of the free space is adjustable in the code area according to the arrangement position information.
 7. The information code of claim 6, comprising: the specification pattern region, the data recording region, and an error correction code recording region are arranged in the code area, error correction codes being recorded in the error correction code recoding region by the plurality of types of cells, and the free space is arranged at a position located outside the specification pattern region, the data recording region, and the error correction code recording region in the code area, the free space is excluded from error correction being performed using the error correction codes.
 8. The information code of claim 7, wherein an arrangement of cells is configured in the predetermined position in the code area such that a predetermined type of mask pattern is reflected in the arrangement of cells.
 9. The information code of claim 7, wherein in the free space, at least one of a design and information is displayed, the design being a figure, a pattern, a hue or a combination thereof, the information being expressed by one or more symbols.
 10. An information code reader, reading an information code provided on a medium, wherein the information code comprises a specification pattern region arranged in the code region, predetermined-shape specification patterns being arranged in the specification pattern region, the specification patterns including patterns indicating a position of the code area; a data recording region arranged in the code region, coded data being recorded in the data recording region by a plurality of types of cells, the cells being arranged in a predetermined code area of a medium, the cells functioning as a unit of information; a free space arranged at a position located outside the specification pattern region in the code area, the free space having a size larger in area than the single cell, the free space being arranged using a method which is different from a method of recording the data into the data recording region such that at least one of recording data other than the cells and displaying a design is allowed in the free space, the design being given independently of the cells arranged in the data recording region; and a plurality of data words arranged in the code region on the basis of predetermined arrangement position information, the data words expressing object data being interpreted, the object data being to be recorded in the data recording region, wherein the free space is arranged such that at least one of a position and a shape of the free space is adjustable in the code area according to the arrangement position information; and the information code reader comprising an imaging unit imaging the information code; and an interpreter interpreting the data recorded in the data recording region, based on contents recorded in the data recording region, when the information code is imaged by the imaging unit.
 11. The information code reader of claim 10, wherein the information code comprises format information of the code recorded at predetermined positions in the code area in a specified format configuration, the predetermined positions being outside the free space.
 12. The information code reader of claim 10, wherein the specification pattern region, the data recording region, and an error correction code recording region are arranged in the code area, error correction codes being recorded in the error correction code recoding region by the plurality of types of cells, and the free space is arranged at a position located outside the specification pattern region, the data recording region, and the error correction code recording region in the code area, the free space being excluded from error correction being performed using the error correction codes.
 13. The information code reader of claim 12, wherein the information code reader comprises a correspondence information recording device recording correspondence information corresponding to the arrangement position information and specifying arrangement positions of the plurality of data words in the code area; and a determination device determining whether or not the predetermined positions of the code area are formatted in the specified format configuration when the imaging unit images the information code, wherein the interpretation device is configured to specify positions of the data words in the code area based on the correspondence information recorded in the correspondence information recording region when the determination device determines that the predetermined positions have the specified format configuration, and interpret the object data being interpreted.
 14. The information code reader of claim 13, wherein the information code is configured such that cell arrangements at the predetermined positions are subjected to masking with a predetermined type of mask pattern; the determination device is configured to determine whether or not the predetermined positions are subjected to masking with the predetermined type of mask pattern when the imaging unit images the information code; and the interpretation device is configured to interpret the object data being interpreted provided that that the predetermined positions are subjected to masking with the predetermined type of mask pattern.
 15. The information code reader of claim 13, wherein the arrangement position information defines correspondence between the sequential data words produced when the object data being interpreted are expressed by the data words and the arrangement positions of the sequential data words in the code area; the correspondence information defines correspondent positions of the sequential data words in another type of code when the sequential data words are expressed by the other type of code which differs in type from the information code; and the interpretation device is configured to interpret the other type of code in a state where the sequential data words are replaced with the correspondent positions in the other type of code, the correspondent positions being defined using the correspondence information, when the determination device determines that the predetermined positions have the specified format configuration.
 16. A system which uses an information code, the system comprising: an information code producing apparatus producing an information code on a medium; and an information code reader reading the information code produced by the information code producing apparatus, wherein the information code producing apparatus is configured to produce the information code comprising a specification pattern region arranged in the code region, predetermined-shape specification patterns being arranged in the specification pattern region, the specification patterns including patterns indicating a position of the code area; a data recording region arranged in the code region, coded data being recorded in the data recording region by a plurality of types of cells, the cells being arranged in a predetermined code area of a medium, the cells functioning as a unit of information; a free space arranged at a position located outside the specification pattern region in the code area, the free space having a size larger in area than the single cell, the free space being arranged using a method which is different from a method of recording the data into the data recording region such that at least one of recording data other than the cells and displaying a design is allowed in the free space, the design being given independently of the cells arranged in the data recording region; format information of the code recorded at predetermined positions in the code area in a specified format configuration, the predetermined positions being outside the free space; a plurality of data words arranged in the code region on the basis of predetermined arrangement position information, the data words expressing object data being interpreted, the object data being to be recorded in the data recording region, wherein the free space is arranged such that at least one of a position and a shape of the free space is adjustable in the code area according to the arrangement position information; and wherein the information code reader comprises an imaging unit imaging the information code; and an interpreter interpreting the data recorded in the data recording region, based on contents recorded in the data recording region, when the information code is imaged by the imaging unit.
 17. The system of claim 16, wherein the information code producing apparatus is configured to produce the information code such that the specification pattern region, the data recording region, and an error correction code recording region are arranged in the code area, error correction codes being recorded in the error correction code recoding region by the plurality of types of cells, and the free space is arranged at a position located outside the specification pattern region, the data recording region, and the error correction code recording region in the code area, the free space being excluded from error correction being performed using the error correction codes. 